package com.aiju.common.download;


import com.aiju.app.callback.FailureCallback;

/**
 * @version V1.0
 * @FileName: com.app.john.updata.Downloader.java
 * @author: 佐为
 * @date: 2016-09-21 15:40
 * @Description 文件下载器
 */
public interface Downloader {

    /**
     * 设置下载监听
     * @param downloaderListener
     */
    public void setListener(OnDownloaderListener downloaderListener);

    /**
     * 开始下载
     * @param url 文件地址
     * @param filePath 文件下载路径
     * @param size 文件大小
     */
    public void download(String url, String filePath, long size);

    /**
     * 关闭下载
     */
    public void cancelDownload();


    /**
     * 下载回调
     */
    public interface OnDownloaderListener extends FailureCallback {

        int ERROR_NOT_ENOUGH_SPACE = -2;

        String ERROR_NOT_ENOUGH_SPACE_STR = "系统空间不足";

        /**
         * 下载进度
         * @param progress 进度值
         */
        public void onDownloadProgress(int progress);

        /**
         * 下载完成
         * @param filePath 下载文件的本地路径
         */
        public void onDownloadFinsh(String filePath);

    }

}
